package xyz.xmh.pattern.structural.adapterpattern;

/**
 * AdapterPatternDemo
 * 适配器模式演示（把两个不兼容的两个接口适配）
 *
 * @author xuMingHai
 * @since 2021/4/29 星期四 18:55
 */
public class AdapterPatternDemo {


    public static void main(String[] args) {
        // 使用高级播放器播放
        AdvancedMediaPlayer vlcPlayer = new VlcPlayer();
        vlcPlayer.playVlc("VLC格式文件");

        AdvancedMediaPlayer mp4Player = new Mp4Player();
        mp4Player.playVlc("MP4格式文件");

        // 使用经过适配器改造的播放器（播放接口只能播放一种格式的文件）
        MediaPlayer audioPlayer = new AudioPlayer();
        // 播放MP3格式的文件
        audioPlayer.play("mp3", "MP3格式的文件");
        // 播放MP4格式的文件
        audioPlayer.play("mp4", "MP4格式的文件");
        // 播放VLC格式的文件
        audioPlayer.play("VLC", "VLC格式的文件");
        // 播放其他格式的文件
        audioPlayer.play("avi", "AVI格式的文件");
    }
}
